// 给你两个正整数数组 nums1 和 nums2 ，数组的长度都是 n 。
// 数组 nums1 和 nums2 的 绝对差值和 定义为所有 |nums1[i] - nums2[i]|（0 <= i < n）的 总和（下标从 0 开始）。
// 你可以选用 nums1 中的 任意一个 元素来替换 nums1 中的 至多 一个元素，以 最小化 绝对差值和。
// 在替换数组 nums1 中最多一个元素 之后 ，返回最小绝对差值和。因为答案可能很大，所以需要对 109 + 7 取余 后返回。

// |x| 定义为：
//     如果 x >= 0 ，值为 x ，或者
//     如果 x <= 0 ，值为 -x

// 示例 1：
// 输入：nums1 = [1,7,5], nums2 = [2,3,5]
// 输出：3
// 解释：有两种可能的最优方案：
// - 将第二个元素替换为第一个元素：[1,7,5] => [1,1,5] ，或者
// - 将第二个元素替换为第三个元素：[1,7,5] => [1,5,5]
// 两种方案的绝对差值和都是 |1-2| + (|1-3| 或者 |5-3|) + |5-5| = 3

// 示例 2：
// 输：nums1 = [2,4,6,8,10], nums2 = [2,4,6,8,10]
// 输出：0
// 解释：nums1 和 nums2 相等，所以不用替换元素。绝对差值和为 0

// 示例 3：
// 输入：nums1 = [1,10,4,4,2,7], nums2 = [9,3,5,1,7,4]
// 输出：20
// 解释：将第一个元素替换为第二个元素：[1,10,4,4,2,7] => [10,10,4,4,2,7]
// 绝对差值和为 |10-9| + |10-3| + |4-5| + |4-1| + |2-7| + |7-4| = 20

// 提示：
//     n == nums1.length
//     n == nums2.length
//     1 <= n <= 105
//     1 <= nums1[i], nums2[i] <= 105
/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number}
 */
// var minAbsoluteSumDiff = function(nums1, nums2) {
//     ///笨方法 写的不对
//     // let len = nums1.length;
//     // let diffMax = 0;
//     // let index = -1;
//     // let result = 0;
//     // for(let i = 0; i < len; i++) {
//     //     let diff = Math.abs(nums1[i] - nums2[i]);
//     //     result += diff;
//     //     if (diff !== 0) {
//     //         if (diff > diffMax) {
//     //             diffMax = diff;
//     //             index = i;
//     //         }
//     //     }
//     // }
//     // console.log(result);
//     // ////上面求得了有最大差值的index
//     // ////下面开始替换，假如index == 0，则先遍历nums1，nums[index]替换成每一个nums[i]与num2[index]相减
//     // ////取最小值
//     // if (index >= 0) {
//     //     let min1 = 0, min2 = 0;
//     //     for(let i = 0; i < len; i++) {
//     //         if (i !== index) {
//     //             nums1[index] = nums1[i];
//     //             let diff = Math.abs(nums1[index] - nums2[index]);
//     //             if (diff < diffMax) {
//     //                 diffMax = diff;
//     //                 min1 = diffMax;
//     //             }
//     //         }
//     //     }
//     //     console.log("min1-->", min1);
//     //     for(let i = 0; i < len; i++) {
//     //         if (i !== index) {
//     //             nums2[index] = nums2[i];
//     //             let diff = Math.abs(nums1[index] - nums2[index]);
//     //             if (diff < diffMax) {
//     //                 diffMax = diff;
//     //                 min2 = nums2[i];
//     //             }
//     //         }
//     //     }
//     //     return result - diffMax;
//     // }
//     // return result;

// };
var minAbsoluteSumDiff = function(nums1, nums2) {
   

};
console.log(minAbsoluteSumDiff([1,10,4,4,2,7], [9,3,5,1,7,4]));


